Make monitor boundaries visible in fake Xinerama mode.
authorMatthias Clasen <maclas@gmx.de>
Fri, 21 Nov 2003 01:02:45 +0000 (01:02 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Fri, 21 Nov 2003 01:02:45 +0000 (01:02 +0000)
Fri Nov 21 01:57:21 2003  Matthias Clasen  <maclas@gmx.de>

* gdk/x11/gdkscreen-x11.c (init_xinerama_support): Make monitor
boundaries visible in fake Xinerama mode.

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gdk/x11/gdkscreen-x11.c

index f1541312faaa995cb6987fb03df35b30e14395ce..934427cb646909a4c3dcd9602efe4ec1a347bb9f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Fri Nov 21 01:57:21 2003  Matthias Clasen  <maclas@gmx.de>
+
+       * gdk/x11/gdkscreen-x11.c (init_xinerama_support): Make monitor
+       boundaries visible in fake Xinerama mode.
+
 Thu Nov 20 15:41:56 2003  Manish Singh  <yosh@gimp.org>
 
        * gtk/gtkmenu.c (gtk_menu_set_tearoff_state): cast to GTK_WIDGET()
index f1541312faaa995cb6987fb03df35b30e14395ce..934427cb646909a4c3dcd9602efe4ec1a347bb9f 100644 (file)
@@ -1,3 +1,8 @@
+Fri Nov 21 01:57:21 2003  Matthias Clasen  <maclas@gmx.de>
+
+       * gdk/x11/gdkscreen-x11.c (init_xinerama_support): Make monitor
+       boundaries visible in fake Xinerama mode.
+
 Thu Nov 20 15:41:56 2003  Manish Singh  <yosh@gimp.org>
 
        * gtk/gtkmenu.c (gtk_menu_set_tearoff_state): cast to GTK_WIDGET()
index f1541312faaa995cb6987fb03df35b30e14395ce..934427cb646909a4c3dcd9602efe4ec1a347bb9f 100644 (file)
@@ -1,3 +1,8 @@
+Fri Nov 21 01:57:21 2003  Matthias Clasen  <maclas@gmx.de>
+
+       * gdk/x11/gdkscreen-x11.c (init_xinerama_support): Make monitor
+       boundaries visible in fake Xinerama mode.
+
 Thu Nov 20 15:41:56 2003  Manish Singh  <yosh@gimp.org>
 
        * gtk/gtkmenu.c (gtk_menu_set_tearoff_state): cast to GTK_WIDGET()
index f1541312faaa995cb6987fb03df35b30e14395ce..934427cb646909a4c3dcd9602efe4ec1a347bb9f 100644 (file)
@@ -1,3 +1,8 @@
+Fri Nov 21 01:57:21 2003  Matthias Clasen  <maclas@gmx.de>
+
+       * gdk/x11/gdkscreen-x11.c (init_xinerama_support): Make monitor
+       boundaries visible in fake Xinerama mode.
+
 Thu Nov 20 15:41:56 2003  Manish Singh  <yosh@gimp.org>
 
        * gtk/gtkmenu.c (gtk_menu_set_tearoff_state): cast to GTK_WIDGET()
index f1541312faaa995cb6987fb03df35b30e14395ce..934427cb646909a4c3dcd9602efe4ec1a347bb9f 100644 (file)
@@ -1,3 +1,8 @@
+Fri Nov 21 01:57:21 2003  Matthias Clasen  <maclas@gmx.de>
+
+       * gdk/x11/gdkscreen-x11.c (init_xinerama_support): Make monitor
+       boundaries visible in fake Xinerama mode.
+
 Thu Nov 20 15:41:56 2003  Manish Singh  <yosh@gimp.org>
 
        * gtk/gtkmenu.c (gtk_menu_set_tearoff_state): cast to GTK_WIDGET()
index f43f299765ce42487bbc4c2ee0d61c5ef711a2c6..7bd7fcc9511d2884fe49bca104ad9dc740545a41 100644 (file)
@@ -540,25 +540,56 @@ init_xinerama_support (GdkScreen * screen)
 #ifdef G_ENABLE_DEBUG
   if (_gdk_debug_flags & GDK_DEBUG_XINERAMA)
     {
-      /* Fake Xinerama mode by splitting the screen into 4 monitors */
+      /* Fake Xinerama mode by splitting the screen into 4 monitors.
+       * Also draw a little cross to make the monitor boundaries visible.
+       */
+      XSetWindowAttributes atts;
+      Window win;
+      gint w, h;
+
+      w = WidthOfScreen (screen_x11->xscreen);
+      h = HeightOfScreen (screen_x11->xscreen);
       screen_x11->num_monitors = 4;
       screen_x11->monitors = g_new0 (GdkRectangle, 4);
       screen_x11->monitors[0].x = 0;
       screen_x11->monitors[0].y = 0;
-      screen_x11->monitors[0].width = WidthOfScreen (screen_x11->xscreen) / 2;
-      screen_x11->monitors[0].height = HeightOfScreen (screen_x11->xscreen) / 2;
-      screen_x11->monitors[1].x = WidthOfScreen (screen_x11->xscreen) / 2;
+      screen_x11->monitors[0].width = w / 2;
+      screen_x11->monitors[0].height = h / 2;
+      screen_x11->monitors[1].x = w / 2;
       screen_x11->monitors[1].y = 0;
-      screen_x11->monitors[1].width = WidthOfScreen (screen_x11->xscreen) / 2;
-      screen_x11->monitors[1].height = HeightOfScreen (screen_x11->xscreen) / 2;
+      screen_x11->monitors[1].width = w / 2;
+      screen_x11->monitors[1].height = h / 2;
       screen_x11->monitors[2].x = 0;
-      screen_x11->monitors[2].y = HeightOfScreen (screen_x11->xscreen) / 2;
-      screen_x11->monitors[2].width = WidthOfScreen (screen_x11->xscreen) / 2;
-      screen_x11->monitors[2].height = HeightOfScreen (screen_x11->xscreen) / 2;
-      screen_x11->monitors[3].x = WidthOfScreen (screen_x11->xscreen) / 2;
-      screen_x11->monitors[3].y = HeightOfScreen (screen_x11->xscreen) / 2;
-      screen_x11->monitors[3].width = WidthOfScreen (screen_x11->xscreen) / 2;
-      screen_x11->monitors[3].height = HeightOfScreen (screen_x11->xscreen) / 2;
+      screen_x11->monitors[2].y = h / 2;
+      screen_x11->monitors[2].width = w / 2;
+      screen_x11->monitors[2].height = h / 2;
+      screen_x11->monitors[3].x = w / 2;
+      screen_x11->monitors[3].y = h / 2;
+      screen_x11->monitors[3].width = w / 2;
+      screen_x11->monitors[3].height = h / 2;
+      atts.override_redirect = 1;
+      atts.background_pixel = WhitePixel(GDK_SCREEN_XDISPLAY (screen), 
+                                        screen_x11->screen_num);
+      win = XCreateWindow(GDK_SCREEN_XDISPLAY (screen), 
+                         screen_x11->xroot_window, 0, h / 2, w, 1, 0, 
+                         DefaultDepth(GDK_SCREEN_XDISPLAY (screen), 
+                                      screen_x11->screen_num),
+                         InputOutput, 
+                         DefaultVisual(GDK_SCREEN_XDISPLAY (screen), 
+                                       screen_x11->screen_num),
+                         CWOverrideRedirect|CWBackPixel, 
+                         &atts);
+      XMapRaised(GDK_SCREEN_XDISPLAY (screen), win); 
+      win = XCreateWindow(GDK_SCREEN_XDISPLAY (screen), 
+                         screen_x11->xroot_window, w/2 , 0, 1, h, 0, 
+                         DefaultDepth(GDK_SCREEN_XDISPLAY (screen), 
+                                      screen_x11->screen_num),
+                         InputOutput, 
+                         DefaultVisual(GDK_SCREEN_XDISPLAY (screen), 
+                                       screen_x11->screen_num),
+                         CWOverrideRedirect|CWBackPixel, 
+                         &atts);
+      XMapRaised(GDK_SCREEN_XDISPLAY (screen), win); 
     }
   else
 #endif